


/**
 * 分页加载
 * @param {*} fun 请求数据的函数
 * @param {*} queryParams 请求数据的参数
 * @param {*} dataList 请求返回的数据
 * @param {*} status 状态
 * @returns 
 */
export async function loadingFun(fun, queryParams, dataList = [], status) {
    // 拷贝对象
    dataList = Object.assign([], dataList)

    if (status == 'finished') return false

    // 执行函数请求数据
    const res = await fun(queryParams)

    wx.stopPullDownRefresh()

    if (res.status) {
        // 数据，总页数
        let { records, totalPage } = res.data
        
        if(records) {
            dataList.push(...records)
        }

        queryParams.page = ++queryParams.page

        if (queryParams.page >= totalPage) {
            status = 'finished'
        }
        if (dataList.length <= 0) {
            status = 'empty'
        }
    } else {
        status = 'error'
    }

    return {
        queryParams,
        dataList,
        status
    }
}

